package com.wangqingbo.myspringboot212.service;

import com.wangqingbo.myspringboot212.entity.ProjectInfo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * 项目业务操作接口
 */
public interface ProjectInfoService {
    /**
     * 保存项目信息
     * @param project 项目对象
     * @return 保存成功的数据条数
     */
    public int saveProjectInfo(ProjectInfo project);

    /**
     * 查询所有的项目信息
     * @return 项目列表
     */
    public List<ProjectInfo> getAllProjects();

    /**
     * 根据id查询项目信息
     * @param projectId 项目id
     * @return 一个项目对象
     */
    public ProjectInfo getProjectInfoById(String projectId);

    /**
     * 更新项目对象
     * @param prj 项目对象
     * @return 更新成功的数据条数
     */
    public int updateProjectInfo(ProjectInfo prj);

    /**
     * 根据id删除数据
     * @param projectId 项目id
     * @return 删除成功的数据条数
     */
    public int delProjectById(String projectId);

    /**
     * 根据参数查询项目信息，用于分页
     * @param projectName 项目名称
     * @param projectCode 项目编码
     * @param currentPage 当前页，用于分页
     * @param pageSize 每页显示的数据条数，用于分页
     * @return 项目列表
     */
    public Map<String,Object> getProjectInfoByParamsPage(String projectName,String projectCode,int currentPage,int pageSize);

    /**
     * 保存项目的附件
     * @param projectId 项目id
     * @param file 附件
     * @return 数据条数
     */
    public int saveProjectFile(String projectId, MultipartFile file);
}
